serde-hjson 0.9.1

Hjson serialization file format
Documentation
# What is Hjson? A configuration file format for humans. Relaxed syntax, fewer mistakes, more comments. See http://hjson.org Data types that can be encoded are JavaScript types (see the `serde_hjson:Value` enum for more details): * `Boolean`: equivalent to rust's `bool` * `I64`: equivalent to rust's `i64` * `U64`: equivalent to rust's `u64` * `F64`: equivalent to rust's `f64` * `String`: equivalent to rust's `String` * `Array`: equivalent to rust's `Vec`, but also allowing objects of different types in the same array * `Object`: equivalent to rust's `serde_hjson::Map` * `Null` # Examples of use ## Parsing a `str` to `Value` and reading the result ```rust //#![feature(custom_derive, plugin)] //#![plugin(serde_macros)] extern crate serde_hjson; use serde_hjson::Value; fn main() { let data: Value = serde_hjson::from_str("{foo: 13, bar: \"baz\"}").unwrap(); println!("data: {:?}", data); println!("object? {}", data.is_object()); let obj = data.as_object().unwrap(); let foo = obj.get("foo").unwrap(); println!("array? {:?}", foo.as_array()); // array? None println!("u64? {:?}", foo.as_u64()); // u64? Some(13u64) for (key, value) in obj.iter() { println!("{}: {}", key, match *value { Value::U64(v) => format!("{} (u64)", v), Value::String(ref v) => format!("{} (string)", v), _ => unreachable!(), }); } // bar: baz (string) // foo: 13 (u64) } ```